<?php
/**
 * 状态模式
 * 行为随着状态变化
 * 跟策略模式的区别，策略的改变由client完成，client持有context的引用，而状态的改变是由context或状态自己
 * User: 16
 * Date: 2018/9/19
 * Time: 9:13
 */

error_reporting(-1);
ini_set('display_errors', 1);

spl_autoload_register("autoload");

function autoload($class)
{
    require dirname($_SERVER['SCRIPT_FILENAME']) . '//..//' . str_replace('\\', '/', $class) . '.php';
}

use state\Farmer;

try{
    $famer = new Farmer();

    $famer->grow();
    $famer->harvest();

    $famer->grow();
    $famer->harvest();

    $famer->grow();
    $famer->harvest();
}catch (\Exception $e){
    echo "error:".$e->getMessage();
}